স্প্রিং বুট (Spring Boot) ডিফল্টভাবে SLF4J (Simple Logging Facade for Java) এবং Logback ব্যবহার করে লগিং। এই লগিং ব্যবস্থার মাধ্যমে আপনি অ্যাপ্লিকেশনের বিভিন্ন অংশের কার্যক্রম ট্র্যাক করতে পারবেন। স্প্রিং বুটের application.properties ফাইলে লগিং কনফিগারেশন খুব সহজে সেট করা যায়।
স্প্রিং বুটের লগিং কনফিগারেশন
স্প্রিং বুটে লগিং কনফিগারেশন করার জন্য application.properties বা application.yml ফাইল ব্যবহার করা হয়। এখানে আপনি লগ লেভেল, লগ আউটপুট ফরম্যাট, এবং অন্যান্য লগিং অপশন কনফিগার করতে পারেন।
লগ লেভেল কনফিগারেশন
স্প্রিং বুটে আপনি লগ লেভেল নির্ধারণ করতে পারেন যেমন TRACE, DEBUG, INFO, WARN, ERROR, এবং FATAL। এটি আপনাকে লগ আউটপুটের পরিমাণ নিয়ন্ত্রণ করতে সাহায্য করে। আপনি নির্দিষ্ট প্যাকেজ বা ক্লাসের জন্য লগ লেভেলও কনফিগার করতে পারেন।
উদাহরণ:
# স্প্রিং বুট লগিং লেভেল কনফিগারেশন
logging.level.root=INFO
logging.level.org.springframework.web=DEBUG
logging.level.com.example.myapp=TRACE
এখানে:
logging.level.root=INFO- রুট লগ লেভেলINFOনির্ধারণ করে।logging.level.org.springframework.web=DEBUG- স্প্রিং ওয়েব প্যাকেজের জন্যDEBUGলেভেল নির্ধারণ করে।logging.level.com.example.myapp=TRACE-com.example.myappপ্যাকেজের জন্যTRACEলেভেল নির্ধারণ করে।
লগ আউটপুট কনফিগারেশন
স্প্রিং বুটের লগ আউটপুট ফরম্যাট এবং আউটপুট ডিভাইস কনফিগার করা যায়। আপনি কনসোলে (Console) লগ দেখতে চান অথবা ফাইল (File) আউটপুট চান সেটি নির্ধারণ করতে পারবেন।
কনসোলে লগ আউটপুট:
# কনসোলে লগ আউটপুট কনফিগারেশন
logging.level.root=INFO
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} - %msg%n
এখানে:
logging.pattern.consoleকনসোলে লগ আউটপুটের ফরম্যাট নির্ধারণ করে।%d{yyyy-MM-dd HH:mm:ss}তারিখ এবং সময়ের ফরম্যাট,%msgলগ বার্তা এবং%nনতুন লাইন যুক্ত করে।
ফাইলে লগ আউটপুট:
# ফাইলের মধ্যে লগ আউটপুট কনফিগারেশন
logging.file.name=app.log
logging.level.root=DEBUG
এখানে:
logging.file.name=app.logফাইল আউটপুটের জন্য ফাইলের নাম নির্ধারণ করে। ফাইলটি অ্যাপ্লিকেশনের রুট ডিরেক্টরিতেapp.logনামে তৈরি হবে।
লগ আউটপুটের ফাইলের অবস্থান কনফিগার করা:
# লগ ফাইলের অবস্থান নির্ধারণ
logging.file.path=/var/logs/myapp
logging.level.root=INFO
এখানে:
logging.file.path=/var/logs/myappফাইলের অবস্থান নির্ধারণ করে যেখানে লগ ফাইলটি সংরক্ষিত হবে।
লগ ফাইল আর্কাইভিং কনফিগারেশন
স্প্রিং বুট আপনাকে লগ আর্কাইভিংয়ের জন্য একটি পদ্ধতি প্রদান করে। এটি বড় ফাইলগুলোকে আর্কাইভ করতে সাহায্য করে।
# লগ আর্কাইভ কনফিগারেশন
logging.file.max-size=10MB
logging.file.max-history=30
এখানে:
logging.file.max-size=10MB- একটি লগ ফাইলের সর্বোচ্চ আকার 10MB নির্ধারণ করে।logging.file.max-history=30- সর্বাধিক 30টি লগ ফাইল সংরক্ষণ করতে বলা হয়। পুরানো ফাইলগুলি আর্কাইভ হয়ে যাবে।
কাস্টম লগ কনফিগারেশন
আপনি যদি আরও উন্নত কাস্টমাইজেশন চান, যেমন লগব্যাক কনফিগারেশন, তাহলে logback-spring.xml ফাইল ব্যবহার করতে পারেন। স্প্রিং বুট ডিফল্টভাবে Logback ব্যবহার করে এবং আপনি এটি কাস্টমাইজ করতে পারবেন।
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
এখানে, আপনি কনসোল অ্যাপেন্ডারের মাধ্যমে লগ আউটপুট কনফিগার করেছেন এবং লগের ফরম্যাটও নির্ধারণ করেছেন।
উপসংহার
স্প্রিং বুটের application.properties ফাইলে লগিং কনফিগারেশন খুবই সহজ এবং সহজে কাস্টমাইজযোগ্য। আপনি লগের লেভেল, আউটপুট ফরম্যাট, আউটপুট ডিভাইস (কনসোল বা ফাইল), এবং লগ আর্কাইভিং কনফিগার করতে পারবেন। এগুলো ব্যবহারের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের কার্যক্রম ট্র্যাক করতে পারবেন এবং প্রয়োজনে ত্রুটিগুলি দ্রুত সনাক্ত করতে পারবেন।
Read more